Skip to content

@WI-24558272: Pin transitive Vitest for npm 10 generator installs - #4064

Merged
shethj merged 2 commits into
developfrom
fix/pin-vitest-generator
Oct 16, 2026
Merged

shethj merged 2 commits into
developfrom
fix/pin-vitest-generator

Conversation

@shethj

@shethj shethj commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Description

Fresh generated-app installs fail in npm 10.8.2 with Cannot read properties of null (reading 'edgesOut') after Vitest 4.1.12 was published. The October 15 and October 16 nightlies used the same PWA Kit commit. The transitive optional tooling graph can select Vitest 4.1.12 while @vitest/browser-webdriverio@4.1.11 requires exactly 4.1.11; browser-webdriverio 4.1.12 is unavailable.

Types of Changes

  • Bug fix (non-breaking change that fixes an issue)

Changes

  • Temporarily override transitive Vitest to 4.1.11 in the create-app package manifest, extensible-app bootstrap, and retail source template.
  • Add changelog entries. Revisit the pin when the upstream Vitest package set is consistent.
  • No tracked lockfile update: the create-app and retail lockfiles have no Vitest entries and npm does not record root overrides. Existing recorded dependency fields still match.

How to Test-Drive This PR

  • Reproduced the original edgesOut crash using Node 20.20.2/npm 10.8.2 and @salesforce/storefront-next-runtime@1.3.1 with the existing React overrides.
  • Adding only the Vitest pin made the same fresh npm install --package-lock-only --ignore-scripts --no-audit --no-fund succeed.
  • Fresh resolution passed for the rendered extensible bootstrap and complete retail template manifest under the same toolchain. Used October 16 published nightly versions in place of unpublished local -dev dependencies. Both resolved without the optional Vitest graph.
  • Verified every tracked package.json/package.json.hbs in create-app has the pin; verified its lockfile dependency fields still match. The bundled retail archive is generated from the already-pinned retail source manifest.
  • git diff --check passed.
  • App lifecycle scripts, builds and E2E tests were not run. Existing engine warnings from transitive Storefront Next dependencies remain.

Checklists

General

  • Dependency-resolution reproduction and verification completed
  • CHANGELOG.md updated

Accessibility Compliance

  • There are no changes to UI

Localization

  • Changes include a UI text update in the Retail React App (which requires translation)

@shethj
shethj requested a review from a team as a code owner October 16, 2026 17:24
@git2gus

git2gus Bot commented Oct 16, 2026

Copy link
Copy Markdown

Git2Gus App is installed but the .git2gus/config.json doesn't have right values. You should add the required configuration.

@cc-prodsec

cc-prodsec commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

alexvuong
alexvuong previously approved these changes Oct 16, 2026
vcua-mobify
vcua-mobify previously approved these changes Oct 16, 2026
vmarta
vmarta previously approved these changes Oct 16, 2026

@vmarta vmarta left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Please make sure there that all of the necessary package.json files in the create-app package are updated.

@shethj
shethj dismissed stale reviews from vmarta, vcua-mobify, and alexvuong via 7606efb October 16, 2026 17:41
@shethj
shethj merged commit 66d7b06 into develop Oct 16, 2026
41 checks passed
@shethj
shethj deleted the fix/pin-vitest-generator branch October 16, 2026 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants